package com.gwcloud.design.create.singleton;

/** 
* @ClassName   : DclSingle 
* @author      : ganwei 
* @date        : 2020年6月29日 
* @Description : 双重校验锁（DCL） ，这个算法算是对多线程的一个总结，有点妙
*/
public class DclSingle {
	/**
	 * -变量可见性
	 */
	private volatile static DclSingle instance=null;//一定要加volatile
	/**
	 * -私有构造函数
	 */
	private DclSingle(){
		
	}
	/**
	 * -获取单例
	 */
	public static DclSingle getInstance(){
		if(instance==null){
		  synchronized (DclSingle.class) {
				if(instance==null)
					instance=new DclSingle();				
			}
		}
		return instance;
	}
}
